let isType = type => obj => {
  return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase() === type.toLowerCase()
}

console.log(isType('String')('str'))
console.log(isType('String')(true))
console.log(isType('Boolean')(true))

/**
 * 我们知道打印函数时会自动调用 toString()方法，函数 add(a) 返回一个闭包 sum(b)，
 * 函数 sum() 中累加计算 a = a + b，
 * 只需要重写sum.toString()方法返回变量 a 就可以了。
 */
function add (a) {
  function sum (b) {
    a += b
    return sum
  }
  sum.toString = function () {
    return a
  }
  return sum
}

// add(1); // 1
// add(1)(2);  // 3
// add(1)(2)(3)； // 6
// add(1)(2)(3)(4)； // 10
